package com.moli.iov.down.model.dto.remoting;

import com.moli.iov.down.model.dto.remoting.extend.CommandExtendDto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;

/**
 * <p>
 * 下发命令DTO
 * </p>
 *
 * @author zql
 * @since 2019/9/17 14:46
 */
@Data
public class CommandDto implements Serializable {

  private static final long serialVersionUID = 8318520311012655577L;

  /**
   * VIN
   */
  private String vin;

  /**
   * 协议命令
   */
  private Byte command;

  /**
   * 控制命令
   */
  private Byte controlCommand;

  /**
   * 控制内容
   */
  private Byte controlContent;

  /**
   * 参数id  参考 TerminalSettingEnum 多个参数
   */
  private List<String> parameterIds;

  /**
   * 参数内容 设置参数用
   */
  private List<CommandExtendDto> commandExtendDtos;

  /**
   * 恒领远程升级命令 url
   */
  private String url;

  /**
   * 发送指令来源
   *  1、监控平台
   */
  private Integer sendSourceType;

  /**
   * 发送时间
   */
  private Date sendTime;

  /**
   * 发送次数
   */
  private Integer sendingTimes;

  /**
   * 是否补发 重试
   */
  private Boolean isRetry;

  /**
   * 命令流水号
   */
  private Long commandNo;

  /**
   * 响应结果
   * 1、已下发 （终端未响应）
   * 2、成功  （终端已响应）
   * 3、失败   （终端未响应，手动置为失败）
   */
  private Integer result;

  /**
   * 应答标志 1字节  响应用
   */
  private Byte responseTag;

  /**
   * 升级状态
   */
  private Byte upgradeStatus;
}
